为什么会动的二维码都能扫出来?
果壳少年有一个非常酷炫的二维码,不仅萌,而且还能动。不论流星闪过、汽车开过,还是行星嗖嗖转,都不影响你长按图片识别二维码,这是为什么呢?
我们先来了解一下二维码。二维码也叫二维条码,是一种比较高级和领先的条码格式,在它诞生之前,最经济和普遍应用的就是一维条码,也就是我们去超市购物,结账时收银员扫描的条码。
我们在超市购物,每个商品上都有一个条码。图片来源:www.getean.com
二维码和一维码都在代码编制上利用了计算机二进制0、1比特流的概念。一维码只能在一个方向上表达信息,是用线条和空白按照一定规则组合的符号,只能包涵数字和字母,支持字符数上限为30,也就是说存储数据的容量比较小,而且损坏后无法读取。而二维码可水平和垂直存储信息,除了字母和数字,还能对图片、汉字、声音、指纹、签字等进行编码。二维码和一维码扫描的基本原理是一样的,你还可以用微信扫一扫身边的商品条码,看看有什么意外发现。
日本的签证上是包含QR Code。图片来源:www.qrcode.es
二维码的码制有几十种,但目前最流行的码制是QR码(QR Code),全称是Quick Response Code(快速响应矩阵图码),它由日本公司Denso Wave发明,最早用来追踪汽车零部件而设计。因为QR码比较主流,所以目前称呼二维码通常就是指QR码,但其实QR码只是二维码的子集而已。
另一种二维码PDF 417,经常被用在证件里。图片来源:Wikimedia Commons
二维码是怎么扫出来的?
QR码在一个矩形空间中通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点表示二进制的“1”,空表示二进制的“0”,点的排列组合确定了矩阵式二维码所代表的意义。
当你扫一个二维码的时候,是通过窄光束进行机械扫描,即光束照在二维码不同颜色的区域上,所获得的反射信号不同,数字图像传感器再将这些光信号转化成为电信号,然后由设备进行数字分析。
机器识别二维码,本质上靠的是“点”与“空”的差异实现的,所以,“点”与“空”颜色相近的二维码是识别不出来的。
不信你试试
QR码的角落定位三个回形,第四个角附近的较小方块(或多个方块)来规范图像的大小,方向和观看角度。这三个大回形相当于在告诉机器“我是一个二维码”,当某个大回形符被挡住之后,QR码就扫不出来了。
图片来源:维基百科
QR 码为什么受欢迎?
为什么QR码会如此受欢迎呢?因为,QR码容量非常大,而且,在发明时考虑了“容错度”。
每个二维码都有一些冗余信息用于提高容错,细心的你可能会发现,我们在生成一个二维码的时候,共有四种容错的级别可以选择:
级别L,可以恢复7%的编码。
级别M,可以恢复15%的编码。
等级Q,可以恢复25%的编码。
级别H,可以恢复30%的编码。
所以,无论是缺一块,还是旋转90度,二维码都依然能被扫出来。
扫一扫试试
二维码艺术创作,无论上歪了还是旋转了,都能扫出来。图片来源:matome.naver.jp
至于容量,QR码尺寸由1到40来代表,最大的存储容量40-L所能支持的不同数据类型,能有这么多:
日本发明,中国开花
虽然二维码在它的发明国家日本也有广泛的应用,比如报纸杂志广告、游览手册、传单、折扣券、电子票证、甚至商品信息等等,但却错过广阔的支付应用场景。
食品包装上的二维码。图片来源:Cliffano Subagio
2011年,中国人率先申请注册了“二维码扫一扫专利”,2012年,腾讯的马化腾将二维码称为“线上线下的关键入口”,在这之后,二维码伴随着互联网+的创新浪潮,在支付、O2O、电商、共享等领域快速普及,让今天的中国进入了“无现金社会”。
最后,我们回到果壳少年会动的二维码。它是由12张静态的图片组成的一组gif动画,但无论流星闪过、汽车开过,还是行星嗖嗖转,它们都没有挡住关键的识别信息,当然能轻松扫出来啦。
编辑:朱新娜
少年编委:曹淑然、李若兮、车天翼、赵祥宇、刘伯俊、赵祥宇
最最后,讲了这么多,你关注果壳少年了吗?